<?php
class establecimiento_model extends CI_Model {

	public function __construct() {
		parent::__construct();
	}

	public function obtererItem ($id=null) {
		$this->db->select('ID_ESTABLECIMIENTO, ID_CATEGORIA, NOMBRE');
		$this->db->from('establecimientos');
		$this->db->where('ID_ESTABLECIMIENTO', $id);
		$query = $this->db->get();
		return $query->row();
	}

	public function obtererLista ($limite, $inicio, $texto=null) {
		$textoLike = strtolower ($texto);
		$query = $this->db->query("SELECT ES.ID_ESTABLECIMIENTO, ES.ID_CATEGORIA, ES.NOMBRE, CA.NOMBRE AS CATEGORIA
				FROM establecimientos ES LEFT JOIN categorias CA ON 
				ES.ID_CATEGORIA=CA.ID_CATEGORIA WHERE LOWER(ES.NOMBRE) like '%$textoLike%' ORDER BY ES.NOMBRE
				LIMIT $limite OFFSET $inicio");
		return $query->result();
	}

	public function itemsLista ($texto=null) {
		$textoLike = strtolower ($texto);
		$this->db->select('count(ID_ESTABLECIMIENTO) as CANTIDAD');
		$this->db->from('establecimientos');
		if ($texto != null && $texto != '') {
			$this->db->like('NOMBRE', $textoLike);
		}
		$query = $this->db->get();
		return $query->row()->CANTIDAD;
	}
	
	public function buscarXEquiv ($equiv) {
		$query = $this->db->query("SELECT ES.ID_ESTABLECIMIENTO, ES.ID_CATEGORIA, ES.NOMBRE 
				FROM establecimientos ES INNER JOIN establecimientos_equiv EE ON 
				ES.ID_ESTABLECIMIENTO=EE.ID_ESTABLECIMIENTO WHERE LOWER(EE.NOMBRE) = LOWER('$equiv')");

		if ($query->num_rows() == 1) {
			return $query->row();
		}

		return null;
	}

	public function guardar ($id=null, $idCategoria=null, $nombre=null) {
		$data = array(
			'ID_CATEGORIA' => $idCategoria,
			'NOMBRE' => $nombre
		);
		if ($id == null) {
			$this->db->insert('establecimientos', $data);
			return $this->db->insert_id();

		} else {
			$this->db->where('ID_ESTABLECIMIENTO', $id);
			$this->db->update('establecimientos', $data); 
			return $id;
		}
	}
	
	public function asociar ($idEstablecimiento=null, $idCategoria=null) {
		$data = array(
				'ID_CATEGORIA' => $idCategoria
		);
		$this->db->where('ID_ESTABLECIMIENTO', $idEstablecimiento);
		$this->db->update('establecimientos', $data);
	}
}